/**
 * 版权所有 2009-2012山东新北洋信息技术股份有限公司
 * 保留所有权利。
 */
package com.linyaonan.leetcode.easy._1290;

/**
 *
 * 给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。
 *
 * 请你返回该链表所表示数字的 十进制值 。
 *
 * 输入：head = [1,0,1]
 * 输出：5
 * 解释：二进制数 (101) 转化为十进制数 (5)
 *
 * @ProjectName: leetcode
 * @Package: com.linyaonan.leetcode.easy._1290
 * @ClassName: LinkedListToInteger
 * @Author: linyaonan
 * @Date: 2020/1/7 16:03
 */
public class LinkedListToInteger {
    public int getDecimalValue(ListNode head) {
        StringBuilder sb = new StringBuilder();
        while (head != null) {
            sb.append(head.val);
            head = head.next;
        }
        String binStr = sb.toString();
        return Integer.valueOf(binStr, 2);
    }
}
